Полезные функции для управления пользователями

Убираем сложность пароля

function wc_ninja_remove_password_strength() {
  if ( wp_script_is( 'wc-password-strength-meter', 'enqueued' ) ) {
    wp_dequeue_script( 'wc-password-strength-meter' );
  }
}
add_action( 'wp_print_scripts', 'wc_ninja_remove_password_strength', 100 );

Разрешение iframe и прочее

function fb_change_mce_options($initArray) {
	$ext = 'pre[id|name|class|style],iframe[align|longdesc| name|width|height|frameborder|scrolling|marginheight| marginwidth|src]';

	if ( isset( $initArray['extended_valid_elements'] ) ) {
		$initArray['extended_valid_elements'] .= ',' . $ext;
	} else {
		$initArray['extended_valid_elements'] = $ext;
	}

	return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');

Разрешить пользователям использовать HTML

//включение unfiltered_html для авторов start
function wph_allow_unfiltered_html() {
    $role = get_role('author');
    $role->add_cap('unfiltered_html'); 
}
add_action('admin_init', 'wph_allow_unfiltered_html');
//включение unfiltered_html для авторов end

Еще один способ разрешения iframe

//включение тега iframe для авторов start
function wph_allow_iframe_tag($allowedposttags) {
 
    if( !current_user_can('author') ) return $allowedposttags;
 
    $allowedposttags['iframe'] = array(
                                'align' => true,
                                'width' => true,
                                'height' => true,
                                'frameborder' => true,
                                'name' => true,
                                'src' => true,
                                'id' => true,
                                'class' => true,
                                'style' => true,
                                'scrolling' => true,
                                'marginwidth' => true,
                                'marginheight' => true,
                                );
    return $allowedposttags;
}
add_filter('wp_kses_allowed_html', 'wph_allow_iframe_tag', 1, 1);
//включение тега iframe для авторов end

Вывод таблицы-списка авторов блога

function contributors() {
global $wpdb;

$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users WHERE display_name <> 'admin' ORDER BY display_name");

foreach ($authors as $author ) {

echo "
  • "; echo "ID); echo "/\">"; echo get_avatar($author->ID); echo ""; echo '"; echo "
  • "; } }

    Стили для этого примера

    #authorlist ul{
    list-style: none;
    width: 600px;
    margin: 0;
    padding: 0;
    }
    #authorlist li {
    margin: 0 0 5px 0;
    list-style: none;
    height: 90px;
    padding: 15px 0 15px 0;
    border-bottom: 1px solid #ececec;
    }
    
    #authorlist img.photo {
    width: 80px;
    height: 80px;
    float: left;
    margin: 0 15px 0 0;
    padding: 3px;
    border: 1px solid #ececec;
    }
    
    #authorlist div.authname {
    margin: 20px 0 0 10px;
    }

    Добавление нужных метаполей в профиль пользователя

    add_filter('user_contactmethods', 'my_user_contactmethods');
     
    function my_user_contactmethods($user_contactmethods){
      $user_contactmethods['telegram'] = 'Telegram Username';
      $user_contactmethods['whatsapp'] = 'WhatsApp';
      $user_contactmethods['ok'] = 'Профиль в OK';
      return $user_contactmethods;
    }

    Удаление ненужных метаполей в профиле пользователя

    add_filter('user_contactmethods','hide_profile_fields',10,1);
    
    function true_hide_contacts( $contactmethods ) {
    	unset($contactmethods['aim']);
    	unset($contactmethods['jabber']);
    	unset($contactmethods['yim']);
    	unset($contactmethods['dribbble']);
    	unset($contactmethods['pinterest']);  
    	unset($contactmethods['flickr']);
    	unset($contactmethods['linkedin']);
    	unset($contactmethods['youtube']);
    	unset($contactmethods['twitter']);
    	return $contactmethods;
    }
    add_filter('user_contactmethods', 'true_hide_contacts', 10, 1);
    Еще в разделе WordPress
    Комментарии закрыты

    Смотрите ещё

    Если на сайте перестала работать кнопка «Поделиться» для OK.RU

    "Одноклассники", как впрочем и все остальные соцсети, регулярно меняют API для постинга ст…